{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Machine Learning Exercise 7 - K-Means Clustering & PCA"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This notebook covers a Python-based solution for the seventh programming exercise of the machine learning class on Coursera.  Please refer to the [exercise text](https://github.com/jdwittenauer/ipython-notebooks/blob/master/exercises/ML/ex7.pdf) for detailed descriptions and equations."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this exercise we'll implement K-means clustering and use it to compress an image.  We'll start with a simple 2D data set to see how K-means works, then we'll apply it to image compression.  We'll also experiment with principal component analysis and see how it can be used to find a low-dimensional representation of images of faces."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## K-means clustering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To start out we're going to implement and apply K-means to a simple 2-dimensional data set to gain some intuition about how it works.  K-means is an iterative, unsupervised clustering algorithm that groups similar instances together into clusters.  The algorithm starts by guessing the initial centroids for each cluster, and then repeatedly assigns instances to the nearest cluster and re-computes the centroid of that cluster.  The first piece that we're going to implement is a function that finds the closest centroid for each instance in the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sb\n",
    "from scipy.io import loadmat\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def find_closest_centroids(X, centroids):\n",
    "    m = X.shape[0]\n",
    "    k = centroids.shape[0]\n",
    "    idx = np.zeros(m)\n",
    "    \n",
    "    for i in range(m):\n",
    "        min_dist = 1000000\n",
    "        for j in range(k):\n",
    "            dist = np.sum((X[i,:] - centroids[j,:]) ** 2)\n",
    "            if dist < min_dist:\n",
    "                min_dist = dist\n",
    "                idx[i] = j\n",
    "    \n",
    "    return idx"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's test the function to make sure it's working as expected.  We'll use the test case provided in the exercise."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.,  2.,  1.])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = loadmat('data/ex7data2.mat')\n",
    "X = data['X']\n",
    "initial_centroids = initial_centroids = np.array([[3, 3], [6, 2], [8, 5]])\n",
    "\n",
    "idx = find_closest_centroids(X, initial_centroids)\n",
    "idx[0:3]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The output matches the expected values in the text (remember our arrays are zero-indexed instead of one-indexed so the values are one lower than in the exercise).  Next we need a function to compute the centroid of a cluster.  The centroid is simply the mean of all of the examples currently assigned to the cluster."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def compute_centroids(X, idx, k):\n",
    "    m, n = X.shape\n",
    "    centroids = np.zeros((k, n))\n",
    "    \n",
    "    for i in range(k):\n",
    "        indices = np.where(idx == i)\n",
    "        centroids[i,:] = (np.sum(X[indices,:], axis=1) / len(indices[0])).ravel()\n",
    "    \n",
    "    return centroids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 2.42830111,  3.15792418],\n",
       "       [ 5.81350331,  2.63365645],\n",
       "       [ 7.11938687,  3.6166844 ]])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "compute_centroids(X, idx, 3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This output also matches the expected values from the exercise.  So far so good.  The next part involves actually running the algorithm for some number of iterations and visualizing the result.  This step was implmented for us in the exercise, but since it's not that complicated I'll build it here from scratch.  In order to run the algorithm we just need to alternate between assigning examples to the nearest cluster and re-computing the cluster centroids."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def run_k_means(X, initial_centroids, max_iters):\n",
    "    m, n = X.shape\n",
    "    k = initial_centroids.shape[0]\n",
    "    idx = np.zeros(m)\n",
    "    centroids = initial_centroids\n",
    "    \n",
    "    for i in range(max_iters):\n",
    "        idx = find_closest_centroids(X, centroids)\n",
    "        centroids = compute_centroids(X, idx, k)\n",
    "    \n",
    "    return idx, centroids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "idx, centroids = run_k_means(X, initial_centroids, 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x18b0abe0>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": [
       "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\n"
      ],
      "text/plain": [
       "<matplotlib.figure.Figure at 0x189dbe48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cluster1 = X[np.where(idx == 0)[0],:]\n",
    "cluster2 = X[np.where(idx == 1)[0],:]\n",
    "cluster3 = X[np.where(idx == 2)[0],:]\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(cluster1[:,0], cluster1[:,1], s=30, color='r', label='Cluster 1')\n",
    "ax.scatter(cluster2[:,0], cluster2[:,1], s=30, color='g', label='Cluster 2')\n",
    "ax.scatter(cluster3[:,0], cluster3[:,1], s=30, color='b', label='Cluster 3')\n",
    "ax.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One step we skipped over is a process for initializing the centroids.  This can affect the convergence of the algorithm.  We're tasked with creating a function that selects random examples and uses them as the initial centroids."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def init_centroids(X, k):\n",
    "    m, n = X.shape\n",
    "    centroids = np.zeros((k, n))\n",
    "    idx = np.random.randint(0, m, k)\n",
    "    \n",
    "    for i in range(k):\n",
    "        centroids[i,:] = X[idx[i],:]\n",
    "    \n",
    "    return centroids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.15354031,  4.67866717],\n",
       "       [ 6.27376271,  2.24256036],\n",
       "       [ 2.20960296,  4.91469264]])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "init_centroids(X, 3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Our next task is to apply K-means to image compression.  The intuition here is that we can use clustering to find a small number of colors that are most representative of the image, and map the original 24-bit colors to a lower-dimensional color space using the cluster assignments.  Here's the image we're going to compress."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": [
       "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\n",
       "bm02aJQo/z+Yw/IkyVx2YQAAAABJRU5ErkJggg==\n"
      ],
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image\n",
    "Image(filename='data/bird_small.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The raw pixel data has been pre-loaded for us so let's pull it in."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'A': array([[[219, 180, 103],\n",
       "         [230, 185, 116],\n",
       "         [226, 186, 110],\n",
       "         ..., \n",
       "         [ 14,  15,  13],\n",
       "         [ 13,  15,  12],\n",
       "         [ 12,  14,  12]],\n",
       " \n",
       "        [[230, 193, 119],\n",
       "         [224, 192, 120],\n",
       "         [226, 192, 124],\n",
       "         ..., \n",
       "         [ 16,  16,  13],\n",
       "         [ 14,  15,  10],\n",
       "         [ 11,  14,   9]],\n",
       " \n",
       "        [[228, 191, 123],\n",
       "         [228, 191, 121],\n",
       "         [220, 185, 118],\n",
       "         ..., \n",
       "         [ 14,  16,  13],\n",
       "         [ 13,  13,  11],\n",
       "         [ 11,  15,  10]],\n",
       " \n",
       "        ..., \n",
       "        [[ 15,  18,  16],\n",
       "         [ 18,  21,  18],\n",
       "         [ 18,  19,  16],\n",
       "         ..., \n",
       "         [ 81,  45,  45],\n",
       "         [ 70,  43,  35],\n",
       "         [ 72,  51,  43]],\n",
       " \n",
       "        [[ 16,  17,  17],\n",
       "         [ 17,  18,  19],\n",
       "         [ 20,  19,  20],\n",
       "         ..., \n",
       "         [ 80,  38,  40],\n",
       "         [ 68,  39,  40],\n",
       "         [ 59,  43,  42]],\n",
       " \n",
       "        [[ 15,  19,  19],\n",
       "         [ 20,  20,  18],\n",
       "         [ 18,  19,  17],\n",
       "         ..., \n",
       "         [ 65,  43,  39],\n",
       "         [ 58,  37,  38],\n",
       "         [ 52,  39,  34]]], dtype=uint8),\n",
       " '__globals__': [],\n",
       " '__header__': 'MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Tue Jun  5 04:06:24 2012',\n",
       " '__version__': '1.0'}"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "image_data = loadmat('data/bird_small.mat')\n",
    "image_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(128L, 128L, 3L)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = image_data['A']\n",
    "A.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we need to apply some pre-processing to the data and feed it into the K-means algorithm."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(16384L, 3L)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# normalize value ranges\n",
    "A = A / 255.\n",
    "\n",
    "# reshape the array\n",
    "X = np.reshape(A, (A.shape[0] * A.shape[1], A.shape[2]))\n",
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(16384L, 3L)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# randomly initialize the centroids\n",
    "initial_centroids = init_centroids(X, 16)\n",
    "\n",
    "# run the algorithm\n",
    "idx, centroids = run_k_means(X, initial_centroids, 10)\n",
    "\n",
    "# get the closest centroids one last time\n",
    "idx = find_closest_centroids(X, centroids)\n",
    "\n",
    "# map each pixel to the centroid value\n",
    "X_recovered = centroids[idx.astype(int),:]\n",
    "X_recovered.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(128L, 128L, 3L)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# reshape to the original dimensions\n",
    "X_recovered = np.reshape(X_recovered, (A.shape[0], A.shape[1], A.shape[2]))\n",
    "X_recovered.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x1abed198>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": [
       "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\n"
      ],
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18961e48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(X_recovered)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Cool!  You can see that we created some artifacts in the compression but the main features of the image are still there.  That's it for K-means.  We'll now move on to principal component analysis."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Principal component analysis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "PCA is a linear transformation that finds the \"principal components\", or directions of greatest variance, in a data set.  It can be used for dimension reduction among other things.  In this exercise we're first tasked with implementing PCA and applying it to a simple 2-dimensional data set to see how it works.  Let's start off by loading and visualizing the data set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'X': array([[ 3.38156267,  3.38911268],\n",
       "        [ 4.52787538,  5.8541781 ],\n",
       "        [ 2.65568187,  4.41199472],\n",
       "        [ 2.76523467,  3.71541365],\n",
       "        [ 2.84656011,  4.17550645],\n",
       "        [ 3.89067196,  6.48838087],\n",
       "        [ 3.47580524,  3.63284876],\n",
       "        [ 5.91129845,  6.68076853],\n",
       "        [ 3.92889397,  5.09844661],\n",
       "        [ 4.56183537,  5.62329929],\n",
       "        [ 4.57407171,  5.39765069],\n",
       "        [ 4.37173356,  5.46116549],\n",
       "        [ 4.19169388,  4.95469359],\n",
       "        [ 5.24408518,  4.66148767],\n",
       "        [ 2.8358402 ,  3.76801716],\n",
       "        [ 5.63526969,  6.31211438],\n",
       "        [ 4.68632968,  5.6652411 ],\n",
       "        [ 2.85051337,  4.62645627],\n",
       "        [ 5.1101573 ,  7.36319662],\n",
       "        [ 5.18256377,  4.64650909],\n",
       "        [ 5.70732809,  6.68103995],\n",
       "        [ 3.57968458,  4.80278074],\n",
       "        [ 5.63937773,  6.12043594],\n",
       "        [ 4.26346851,  4.68942896],\n",
       "        [ 2.53651693,  3.88449078],\n",
       "        [ 3.22382902,  4.94255585],\n",
       "        [ 4.92948801,  5.95501971],\n",
       "        [ 5.79295774,  5.10839305],\n",
       "        [ 2.81684824,  4.81895769],\n",
       "        [ 3.88882414,  5.10036564],\n",
       "        [ 3.34323419,  5.89301345],\n",
       "        [ 5.87973414,  5.52141664],\n",
       "        [ 3.10391912,  3.85710242],\n",
       "        [ 5.33150572,  4.68074235],\n",
       "        [ 3.37542687,  4.56537852],\n",
       "        [ 4.77667888,  6.25435039],\n",
       "        [ 2.6757463 ,  3.73096988],\n",
       "        [ 5.50027665,  5.67948113],\n",
       "        [ 1.79709714,  3.24753885],\n",
       "        [ 4.3225147 ,  5.11110472],\n",
       "        [ 4.42100445,  6.02563978],\n",
       "        [ 3.17929886,  4.43686032],\n",
       "        [ 3.03354125,  3.97879278],\n",
       "        [ 4.6093482 ,  5.879792  ],\n",
       "        [ 2.96378859,  3.30024835],\n",
       "        [ 3.97176248,  5.40773735],\n",
       "        [ 1.18023321,  2.87869409],\n",
       "        [ 1.91895045,  5.07107848],\n",
       "        [ 3.95524687,  4.5053271 ],\n",
       "        [ 5.11795499,  6.08507386]]),\n",
       " '__globals__': [],\n",
       " '__header__': 'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Mon Nov 14 22:41:44 2011',\n",
       " '__version__': '1.0'}"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = loadmat('data/ex7data1.mat')\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x18e19dd8>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": [
       "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\n"
      ],
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ac019b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X = data['X']\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(X[:, 0], X[:, 1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The algorithm for PCA is fairly simple.  After ensuring that the data is normalized, the output is simply the singular value decomposition of the covariance matrix of the original data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def pca(X):\n",
    "    # normalize the features\n",
    "    X = (X - X.mean()) / X.std()\n",
    "    \n",
    "    # compute the covariance matrix\n",
    "    X = np.matrix(X)\n",
    "    cov = (X.T * X) / X.shape[0]\n",
    "    \n",
    "    # perform SVD\n",
    "    U, S, V = np.linalg.svd(cov)\n",
    "    \n",
    "    return U, S, V"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(matrix([[-0.79241747, -0.60997914],\n",
       "         [-0.60997914,  0.79241747]]),\n",
       " array([ 1.43584536,  0.56415464]),\n",
       " matrix([[-0.79241747, -0.60997914],\n",
       "         [-0.60997914,  0.79241747]]))"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "U, S, V = pca(X)\n",
    "U, S, V"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now that we have the principal components (matrix U), we can use these to project the original data into a lower-dimensional space.  For this task we'll implement a function that computes the projection and selects only the top K components, effectively reducing the number of dimensions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def project_data(X, U, k):\n",
    "    U_reduced = U[:,:k]\n",
    "    return np.dot(X, U_reduced)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[-4.74689738],\n",
       "        [-7.15889408],\n",
       "        [-4.79563345],\n",
       "        [-4.45754509],\n",
       "        [-4.80263579],\n",
       "        [-7.04081342],\n",
       "        [-4.97025076],\n",
       "        [-8.75934561],\n",
       "        [-6.2232703 ],\n",
       "        [-7.04497331],\n",
       "        [-6.91702866],\n",
       "        [-6.79543508],\n",
       "        [-6.3438312 ],\n",
       "        [-6.99891495],\n",
       "        [-4.54558119],\n",
       "        [-8.31574426],\n",
       "        [-7.16920841],\n",
       "        [-5.08083842],\n",
       "        [-8.54077427],\n",
       "        [-6.94102769],\n",
       "        [-8.5978815 ],\n",
       "        [-5.76620067],\n",
       "        [-8.2020797 ],\n",
       "        [-6.23890078],\n",
       "        [-4.37943868],\n",
       "        [-5.56947441],\n",
       "        [-7.53865023],\n",
       "        [-7.70645413],\n",
       "        [-5.17158343],\n",
       "        [-6.19268884],\n",
       "        [-6.24385246],\n",
       "        [-8.02715303],\n",
       "        [-4.81235176],\n",
       "        [-7.07993347],\n",
       "        [-5.45953289],\n",
       "        [-7.60014707],\n",
       "        [-4.39612191],\n",
       "        [-7.82288033],\n",
       "        [-3.40498213],\n",
       "        [-6.54290343],\n",
       "        [-7.17879573],\n",
       "        [-5.22572421],\n",
       "        [-4.83081168],\n",
       "        [-7.23907851],\n",
       "        [-4.36164051],\n",
       "        [-6.44590096],\n",
       "        [-2.69118076],\n",
       "        [-4.61386195],\n",
       "        [-5.88236227],\n",
       "        [-7.76732508]])"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Z = project_data(X, U, 1)\n",
    "Z"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also attempt to recover the original data by reversing the steps we took to project it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def recover_data(Z, U, k):\n",
    "    U_reduced = U[:,:k]\n",
    "    return np.dot(Z, U_reduced.T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[ 3.76152442,  2.89550838],\n",
       "        [ 5.67283275,  4.36677606],\n",
       "        [ 3.80014373,  2.92523637],\n",
       "        [ 3.53223661,  2.71900952],\n",
       "        [ 3.80569251,  2.92950765],\n",
       "        [ 5.57926356,  4.29474931],\n",
       "        [ 3.93851354,  3.03174929],\n",
       "        [ 6.94105849,  5.3430181 ],\n",
       "        [ 4.93142811,  3.79606507],\n",
       "        [ 5.58255993,  4.29728676],\n",
       "        [ 5.48117436,  4.21924319],\n",
       "        [ 5.38482148,  4.14507365],\n",
       "        [ 5.02696267,  3.8696047 ],\n",
       "        [ 5.54606249,  4.26919213],\n",
       "        [ 3.60199795,  2.77270971],\n",
       "        [ 6.58954104,  5.07243054],\n",
       "        [ 5.681006  ,  4.37306758],\n",
       "        [ 4.02614513,  3.09920545],\n",
       "        [ 6.76785875,  5.20969415],\n",
       "        [ 5.50019161,  4.2338821 ],\n",
       "        [ 6.81311151,  5.24452836],\n",
       "        [ 4.56923815,  3.51726213],\n",
       "        [ 6.49947125,  5.00309752],\n",
       "        [ 4.94381398,  3.80559934],\n",
       "        [ 3.47034372,  2.67136624],\n",
       "        [ 4.41334883,  3.39726321],\n",
       "        [ 5.97375815,  4.59841938],\n",
       "        [ 6.10672889,  4.70077626],\n",
       "        [ 4.09805306,  3.15455801],\n",
       "        [ 4.90719483,  3.77741101],\n",
       "        [ 4.94773778,  3.80861976],\n",
       "        [ 6.36085631,  4.8963959 ],\n",
       "        [ 3.81339161,  2.93543419],\n",
       "        [ 5.61026298,  4.31861173],\n",
       "        [ 4.32622924,  3.33020118],\n",
       "        [ 6.02248932,  4.63593118],\n",
       "        [ 3.48356381,  2.68154267],\n",
       "        [ 6.19898705,  4.77179382],\n",
       "        [ 2.69816733,  2.07696807],\n",
       "        [ 5.18471099,  3.99103461],\n",
       "        [ 5.68860316,  4.37891565],\n",
       "        [ 4.14095516,  3.18758276],\n",
       "        [ 3.82801958,  2.94669436],\n",
       "        [ 5.73637229,  4.41568689],\n",
       "        [ 3.45624014,  2.66050973],\n",
       "        [ 5.10784454,  3.93186513],\n",
       "        [ 2.13253865,  1.64156413],\n",
       "        [ 3.65610482,  2.81435955],\n",
       "        [ 4.66128664,  3.58811828],\n",
       "        [ 6.1549641 ,  4.73790627]])"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_recovered = recover_data(Z, U, 1)\n",
    "X_recovered"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1af80320>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": [
       "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\n"
      ],
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1accd470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(X_recovered[:, 0], X_recovered[:, 1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that the projection axis for the first principal component was basically a diagonal line through the data set.  When we reduced the data to one dimension, we lost the variations around that diagonal line, so in our reproduction everything falls along that diagonal.\n",
    "\n",
    "Our last task in this exercise is to apply PCA to images of faces.  By using the same dimension reduction techniques we can capture the \"essence\" of the images using much less data than the original images."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(5000L, 1024L)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "faces = loadmat('data/ex7faces.mat')\n",
    "X = faces['X']\n",
    "X.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The exercise code includes a function that will render the first 100 faces in the data set in a grid.  Rather than try to re-produce that here, you can look in the exercise text for an example of what they look like.  We can at least render one image fairly easily though."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "face = np.reshape(X[3,:], (32, 32))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x1b208cf8>"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": [
       "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\n",
       "rkJggg==\n"
      ],
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ac1e8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(face)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Yikes, that looks awful.  These are only 32 x 32 grayscale images though (it's also rendering sideways, but we can ignore that for now).  Anyway's let's proceed.  Our next step is to run PCA on the faces data set and take the top 100 principal components."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "U, S, V = pca(X)\n",
    "Z = project_data(X, U, 100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can attempt to recover the original structure and render it again."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x1b5b8f60>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": [
       "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\n",
       "AABJRU5ErkJggg==\n"
      ],
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ac01ac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X_recovered = recover_data(Z, U, 100)\n",
    "face = np.reshape(X_recovered[3,:], (32, 32))\n",
    "plt.imshow(face)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Observe that we lost some detail, though not as much as you might expect for a 10x reduction in the number of dimensions.\n",
    "\n",
    "That concludes exercise 7.  In the final exercise we'll implement algorithms for anomaly detection and build a recommendation system using collaborative filtering."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
